The approaches described in this section could be pursued, but are not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated herein, the approaches described in this section are not prior art to the claims in this application and are not admitted to be prior art by inclusion in this section.
A typical computer network consists of various devices such as routers, switches, wireless access points, firewalls, etc. FIG. 1 illustrates an example network that includes such elements.
A typical network device provides a command interface that is accessible using the telnet protocol, a secure shell (SSH) connection, or serial port interface to create, update, retrieve and store management information relating to the device. A network management station (NMS) can deliver commands through such an interface to provide a higher level or enhanced management capability to the network operator or administrator.
To interoperate with a network device, the NMS must have knowledge of what commands the device supports, so that the NMS can deliver commands that are compatible with the device's command interface and that produce desired results. One way to provide such knowledge to an NMS is by adding command definitions to the NMS manually, either through a programmatic approach by updating the computer program code that forms the NMS, or by changing a separate device data table that is used by the NMS. However, this approach is slow and error-prone, especially when the NMS supports a large number of different devices.
Further, whenever a change occurs in the set of commands that a particular device type supports, a change is required to the NMS. Thus, this approach requires ongoing software development efforts to keep the NMS compatible with the commands that devices recognize or support.
Therefore, there is a need for a better way to provide knowledge about commands that a network device supports.